package com.itheima.tliasmanager.controller;

import com.itheima.tliasmanager.pojo.vo.Result;
import com.itheima.tliasmanager.utils.AliYunOSSUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

/**
 * 处理文件上传请求的处理器类
 */
@Slf4j
@RestController
public class UploadController {


    @Autowired
    private AliYunOSSUtil aliYunOSSUtil;

    /**
     * 处理文件上传请求
     */
    @PostMapping("/upload")
    public Result upload(MultipartFile file) throws IOException, com.aliyuncs.exceptions.ClientException {
        //接收前端发送的所有文件：MultipartFile
        //特点：将接收的文件，临时存储到服务器中指定的临时目录中，请求执行完毕，自动删除临时目录中的文件
        log.info("文件上传，请求参数：{}" , file);

        String url = aliYunOSSUtil.uploadFile(file);

        return Result.success(url);//code = 1 ,msg=success , data=null
    }

}
